/*
 * Page.h
 */

#include "Record.h"

#ifndef PAGE_H_
#define PAGE_H_

//VS compiler
#if _WIN32 || _WIN64
#if _WIN64
#define NUM_BITS 64
#define BYTES_IN_WORD 8
#else
#define NUM_BITS 32
#define BYTES_IN_WORD 4
#endif
#endif

//GCC compiler
#if __GNUC__
#if __x86_64__ || __ppc64__
#define NUM_BITS 64
#define BYTES_IN_WORD 8
#else
#define NUM_BITS 32
#define BYTES_IN_WORD 4
#endif
#endif

#define PAGESIZEBYTES 256

class Page {
public:
	//static const int PAGE_SIZE_BYTES = PAGESIZEBYTES;

	Page();
	~Page();

	Record *GetRecordLocation();
	void DestructRecord();

private:
	char _space[PAGESIZEBYTES]; //preallocate size of one page
};

#endif /* PAGE_H_ */
